package com.lw.service.impl;

import com.lw.entity.table.TbInterfaceTableDef;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.lw.entity.TbInterface;
import com.lw.mapper.TbInterfaceMapper;
import com.lw.service.TbInterfaceService;
import org.springframework.stereotype.Service;

import java.util.List;

import static com.lw.entity.table.TbInterfaceTableDef.TB_INTERFACE;
import static com.lw.entity.table.TbUserInterfaceTableDef.TB_USER_INTERFACE;

/**
 *  服务层实现。
 *
 * @author lw
 * @since 2025年04月29日 11:35:15
 */
@Service
public class TbInterfaceServiceImpl extends ServiceImpl<TbInterfaceMapper, TbInterface> implements TbInterfaceService {

    /**
     * 根据用户id查询接口信息
     * @param loginId 用户id
     * @return 用户接口信息列表
     * */
    @Override
    public List<TbInterface> getInterfaceByUserId(Integer loginId) {
        List<TbInterface> tbInterfaces = queryChain().select(TB_INTERFACE.ALL_COLUMNS).from(TB_USER_INTERFACE)
                .leftJoin(TB_INTERFACE).on(TB_USER_INTERFACE.INTERFACE_ID.eq(TB_INTERFACE.ID))
                .where(TB_USER_INTERFACE.USER_ID.eq(loginId)).listAs(TbInterface.class);
        return tbInterfaces;
    }
}
